home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Adobe Graphics & Publishing SDK 1996 December
/
Adobe Graphics & Publishing SDK 1996 December.iso
/
pc
/
pm65sdk
/
sourcecode
/
includes
/
ciprint.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-11-18
|
4KB
|
120 lines
/**[f******************************************************************
* CIPrint.h -- Printing interface
*
* Copyright(C) 1996, Adobe Systems, Inc.
*
* $Revision: 1.2 $
*
*
**********************************************************************/
#ifndef __CIPRINT_H
#define __CIPRINT_H
// Some data structures
//
// One thing that developers needs to remember is that all the LPSTR
// fields defined bellow, developer needs to allocate the memory space
// and free the space themselve.
//
// Printer capabilities
//
typedef struct _printerCap {
unsigned short isPSPrinter : 1; // Printer is PostScript printer
unsigned short menuFeedOK : 1; // Capability to handle menu feed
unsigned short custompaperOK : 1; // custom paper
unsigned short duplexOK : 1; // duplex
unsigned short colorOK : 1; // color
unsigned short binaryOK : 1; // handle binary image
unsigned short unused : 10;
} PMPrinterCaps;
// Print document related parameters
//
#define PRINT_BOTH 0
#define PRINT_EVEN 1
#define PRINT_ODD 2
typedef struct _printDoc {
unsigned short collate : 1; // 1 for collate
unsigned short reverse : 1; // 1 for reverse order printing
unsigned short proof : 1; // 1 for doing proof
unsigned short blank : 1; // 1 for including blank page
unsigned short independence : 1; // 1 for page independence
unsigned short book : 1; // 1 for do book printing
unsigned short bookspec : 1; // 0 for off, 1 for use settings of
// each pub. 0 for non-PS printer
unsigned short orientation : 1; // 1 for wide, 0 for tall
unsigned short spread : 1; // 1 for doing spread
unsigned short doDropOuts : 1; // 1 for do drop outs
unsigned short both : 2; // 0 for both, 1 for even, 2 for odd
unsigned short doAllPages : 1; // 0 for page range and 1 for all pages
unsigned short unused : 3;
unsigned short copies; // number of copies
char* range; // page range to print
} PMPrintDocParms;
// Print paper related parameters
//
#define SCALE_NORMAL 0
#define SCALE_FIT 1
#define SCALE_THUMBNAIL 2
#define TILING_NONE 0
#define TILING_MANUAL 1
#define TILING_AUTO 2
#define DUPLEX_NONE 0
#define DUPLEX_SHORT 1
#define DUPLEX_LONG 2
typedef struct _printPaper {
char* size; // paper size
char* source; // paper source
unsigned long length; // paper length
unsigned long width; // paper width
unsigned long slowoffset;
unsigned long fastoffset;
short tiling; // 0: no-tile; 1: manual; 2: auto
long overlap; // overlap amount for tiling
short scaletype; // 0: normal scaling; 1: reduce to fit; 2: thumbnail
short scaleAmt; // scale amount, when scaletype is 2, it is the number of
// thumbnails
short duplex; // 0: no duplex; 1: is short edge; 2 is long edge
unsigned short orientation : 1; // 1 for wide, 0 for tall
unsigned short center : 1; // 1 for do center
unsigned short unused : 14;
} PMPrintPaperParms;
// Print Color related parameters
//
typedef struct _printColor {
unsigned short doSeparations : 1; // 1: separation; 0: composite
unsigned short doColors : 1; // 1: color printing; 0: b/w printing
unsigned short doConvert : 1; // 1: convert all color to process color
unsigned short doMirror : 1; // 1: mirror
unsigned short doNegative : 1; // 1: negative
unsigned short preserveEPS : 1; // 1: preservedEPS color is checked
unsigned short unused : 10;
char* screen; // screen name
} PMPrintColorParms;
class CIPrint : public CIInterface {
public:
// Get and set parameters in print doc panel
virtual PMXErr GetPrintDocParms( PMPrintDocParms *pDoc ) = 0;
virtual PMXErr SetPrintDocParms( PMPrintDocParms *pDoc ) = 0;
// Get and set parameters in print paper panel
virtual PMXErr GetPrintPaperParms( PMPrintPaperParms *pPaper) = 0;
virtual PMXErr SetPrintPaperParms( PMPrintPaperParms *pPaper) = 0;
// Get and set parameters in print color panel
virtual PMXErr GetPrintColorParms( PMPrintColorParms *pColor) = 0;
virtual PMXErr SetPrintColorParms( PMPrintColorParms *pColor) = 0;
} ;
#endif